Defensive Programming
Analogy: Defensive Driving(かもしれない運転)
他のドライバーが何をするかわからないぞ、というマインドセット
他のドライバーや歩行者が何をしても安全であるようにする
自分の過失ではないとしても自分の身は自分で守る責任を持つという意味
ではDefensive Programmingは?
もしルーチンが誤ったデータを渡されても、もしそれが他のルーチンの過失によるデータだったとしても、そうしたデータによって害が及ぼされないようにするということ
無効なデータ、決して起こらないはずのこと、他のプログラマーのミスからどのように身を守るか?